package cd.cdyb.sms.controller;


import cd.cdyb.sms.dto.SystemConfigDto;
import cd.cdyb.sms.dto.expand.ExSystemConfigDto;
import cd.cdyb.sms.exception.BusinessException;
import cd.cdyb.sms.service.SystemConfigService;
import org.springframework.web.bind.annotation.PostMapping;
import org.springframework.web.bind.annotation.RequestBody;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;

import javax.annotation.Resource;
import javax.validation.Valid;
import java.util.Objects;

/**
 * <p>
 * 系统配置
 * </p>
 *
 * @author lin
 * @since 2024-05-21
 */
@RestController
@RequestMapping("/systemConfig")
public class SystemConfigController {

    @Resource
    private SystemConfigService systemConfigService;

    /**
     * 编辑
     */
    @PostMapping("/updateSystemConfig")
    public void updateSystemConfig(@RequestBody @Valid SystemConfigDto systemConfigDto) {
        systemConfigService.updateSystemConfig(systemConfigDto);
    }

    /**
     * 详情
     */
    @PostMapping("/getSystemConfig")
    public SystemConfigDto getSystemConfig() {
        return systemConfigService.getSystemConfig();
    }

    /**
     * 充值
     */
    @PostMapping("/recharge")
    public void recharge(@RequestBody ExSystemConfigDto exSystemConfigDto) throws BusinessException {
        if (Objects.isNull(exSystemConfigDto.getRechargeQuantity())) {
            throw new BusinessException("充值数量不能为空");
        }
        if (Objects.isNull(exSystemConfigDto.getRechargeType())) {
            throw new BusinessException("短信类型不能为空");
        }
        systemConfigService.recharge(exSystemConfigDto);
    }
}

